
public include std/machine.e
public include std/dll.e
include std/error.e

export sequence libext = ""
export sequence stdcall = ""

ifdef UNIX then
    libext = ".so"
    stdcall=""
elsifdef WINDOWS then
    libext = ".dll"
   stdcall="+"
elsedef
	crash("euQt does not support your platform")
end ifdef


--****
-- alias for C_POINTER C_INT L=C_LONG   U=C_UINT  C_FLOAT in the wrap 
-- B for bool CP for char pointer  CPP for char pointer to pointer 
--used to pass character strings in both directions.
--these are not strictly checked by euphoria but adds some documentation.


export constant 
	--**
	-- alias for C_POINTER  in the wrap
	 P=C_POINTER, 
	--**
	-- alias for C_POINTER  in the wrap for char**
	 CPP=C_POINTER, 
	--**
	-- alias for C_POINTER  in the wrap for char*
	 CP=C_POINTER, 
	--**
	-- alias for C_INT use for int or bool
	 I=C_INT, 
	--**
	-- alias for C_INT use for int or bool
	 B=C_INT, 
	--**
	-- alias for C_UINT use for unsigned int
	 U=C_UINT, 
	--**
	-- alias for C_LONG
	 L=C_LONG, 
	--**
	-- alias for C_FLOAT
	 F=C_FLOAT,
	 $

--~ now useing stdlib/builtin instead of  peek_sequence_null
--allocate_string_pointer_array  & free_pointer_array

